<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilflash: xilflash_readwrite_example.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilflash
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xilflash__readwrite__example_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xilflash_readwrite_example.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains a design example using the Flash Library. </p>
<p>This example tests the Erase, Read and Write features. The Page is erased and data is written to the page. The data is read back and compared with the data written for correctness.</p>
<dl class="section note"><dt>Note</dt><dd>The Erase operation on a CFI compliant Flash device will result in an error if the block is locked. This example performs an Unlock operation before Erase operation only on the Intel CFI compliant Flash device. The AMD CFI compliant Flash devices require the user to apply a 12V DC voltage on the RP pin while performing the Lock and Unlock operations. This example will not work with the AMD compliant Flash devices if the block is locked and the user doesn't perform an Unlock operation. Change the value of XFL_TO_ASYNCMODE to 1, inorder to operate the Micron Flash in async mode,if it was set to sync mode.</dd></dl>
<pre>
  MODIFICATION HISTORY:</pre><pre>  Ver   Who  Date     Changes
</p>
<hr/>
<p>
  1.00a mta  10/09/07 First release
  1.01a ksu  04/10/08 Added support for AMD CFI Interface
  1.01a sdm  02/24/09 a) Added code to perform an Unlock operation before the
                         Erase operation for Intel CFI compliant Flash devices
                      b) Updated the notes with information about using the
                         example with AMD CFI compliant Flash devices
  2.00a ktn  12/04/09 Updated to use the HAL processor APIs/macros
  3.00a sdm  03/03/11 Updated to pass BaseAddress and Flash Width to _Initialize
                      API, as required by the new version of the library
  4.2   nsk  01/07/16 Added Support to change Flash to Async Mode, if it was
                      set to sync mode.
                      Modified FLASH_BASE_ADDRESS to canonical name.
  4.2   nsk  01/27/16 Added check to unlock the Micron G18 Flash.
  4.7   akm  07/23/19 Initialized Status variable to XST_FAILURE.
  4.10  akm  07/14/23 Added support for system device-tree flow.</pre><pre>*</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a69bd7230f7feb6b13978ff0cd4cd0888"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xilflash__readwrite__example_8c.html#a69bd7230f7feb6b13978ff0cd4cd0888">FlashReadWriteExample</a> (void)</td></tr>
<tr class="memdesc:a69bd7230f7feb6b13978ff0cd4cd0888"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes, reads, and verifies the data to the Flash device.  <a href="#a69bd7230f7feb6b13978ff0cd4cd0888">More...</a><br/></td></tr>
<tr class="separator:a69bd7230f7feb6b13978ff0cd4cd0888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840291bc02cba5474a4cb46a9b9566fe"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xilflash__readwrite__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main</a> (void)</td></tr>
<tr class="memdesc:a840291bc02cba5474a4cb46a9b9566fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main function to execute the Flash read write example.  <a href="#a840291bc02cba5474a4cb46a9b9566fe">More...</a><br/></td></tr>
<tr class="separator:a840291bc02cba5474a4cb46a9b9566fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a69bd7230f7feb6b13978ff0cd4cd0888"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int FlashReadWriteExample </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes, reads, and verifies the data to the Flash device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">None</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="group__xilflash__apis.html#ga13e5d44757867a2f424f885ac51890c2">XFlash_Erase()</a>, <a class="el" href="group__xilflash__apis.html#gab4c908ad78f6ded9407d0dc7ed611370">XFlash_Initialize()</a>, <a class="el" href="group__xilflash__apis.html#ga2b079c7388012f6bdbda754ea0d62641">XFlash_Read()</a>, <a class="el" href="group__xilflash__apis.html#gacef8005e70142f8113fa163cb5a187f5">XFlash_Reset()</a>, <a class="el" href="group__xilflash__apis.html#gad42077db3972cee5f052a5a5063fe538">XFlash_Unlock()</a>, and <a class="el" href="group__xilflash__apis.html#gadeef4a4805428c7a14578bc0790d6bdc">XFlash_Write()</a>.</p>

<p>Referenced by <a class="el" href="xilflash__readwrite__example_8c.html#a840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a840291bc02cba5474a4cb46a9b9566fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int main </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Main function to execute the Flash read write example. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">None</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful else XST_FAILURE.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p>References <a class="el" href="xilflash__readwrite__example_8c.html#a69bd7230f7feb6b13978ff0cd4cd0888">FlashReadWriteExample()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
